package A1动态规划;

public class LC_63不同路径II {
    public static void main(String[] args){
        int[][] obstacleGrid = {{0,1},{0,0}};
        System.out.println(uniquePathsWithObstacles(obstacleGrid));
    }
    public static int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int m = obstacleGrid.length;
        int n = obstacleGrid[0].length;
        int[][] dp=new int[m][n];
        for(int i=0;i<m && obstacleGrid[i][0]==0;i++)
            dp[i][0]=1;
        for(int j=0;j<n && obstacleGrid[0][j]==0 ;j++)
            dp[0][j]=1;
        for(int i=1;i<m ;i++)
            for(int j=1;j<n ;j++)
                if(obstacleGrid[i][j]==0)
                    dp[i][j]=dp[i-1][j]+dp[i][j-1];
        return dp[m-1][n-1];
    }
}
